// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })

// 云函数入口函数
exports.main = async (event, context) => {
  try {
    const { openId } = event

    if (!openId) {
      return {
        success: false,
        message: '未提供用户标识'
      }
    }

    const db = cloud.database()
    const userCollection = db.collection('MFA')

    // 查询用户是否存在
    const user = await userCollection
      .where({
        openid: openId
      })
      .get()

    if (user.data.length === 0) {
      return {
        success: false,
        message: '用户不存在'
      }
    }

    // 更新用户，移除MFA绑定
    await userCollection
      .where({
        openid: openId
      })
      .update({
        data: {
          mfaBound: false,
          mfaSecret: null, // 移除密钥
          mfaUnbindTime: db.serverDate()
        }
      })

    return {
      success: true,
      message: 'MFA解绑成功'
    }
  } catch (error) {
    console.error('Unbind MFA error:', error)
    return {
      success: false,
      error: error.message
    }
  }
}
